
package sismed.negocio.controle;


import java.util.List;

import sismed.dados.hibernate.dao.DAOHibernateExame;
import sismed.dao.IDAOExame;
import sismed.exception.DAOException;
import sismed.negocio.modelo.Exame;
import sismed.negocio.modelo.ExameHematologico;
import sismed.negocio.modelo.ExameParasitologico;
import sismed.negocio.modelo.ExameUrinalise;

public class ControleOperacoesExame {
	IDAOExame dao = new DAOHibernateExame();
	
	public void pescreverExameHematologico( ExameHematologico exame ) throws DAOException {
		try {
			dao.prescreverExame( exame );
		}
		catch (DAOException e) {
			throw new DAOException(e);
		}
	}
	public void pescreverExameUrinalise( ExameUrinalise exame ) throws DAOException{
		try {
			dao.prescreverExame( exame );
		}
		catch ( DAOException e ) {
			throw new DAOException(e);
		}
	}
	public void pescreverExameParasitologico( ExameParasitologico exame )throws DAOException{
		try {
			dao.prescreverExame(exame);
		}
		catch( DAOException e ){
			throw new DAOException(e);
		}
	}

	public Exame recuperarExame( String idExame ) throws DAOException{
		Exame exame = null;
		try {
			exame = dao.recuperarExame(idExame);
		} catch (DAOException e) {
			throw new DAOException(e);
		}
		return exame;
	}
	
	public List<Exame> recuperarExamesPorPaciente( int idpaciente ) throws DAOException{
		List<Exame> exames = null;
		try {
			exames = dao.recuperarExamesPorPaciente( idpaciente );
		}
		catch ( DAOException  e ) {
			throw new DAOException(e);
		}
		return exames;
	}
	
	public List<Exame> recuperarExamesPorMedico( int idmedico ) throws DAOException{
		List<Exame> exames = null;
		try {
			exames = dao.recuperarExamesPorMedico(idmedico);
		}
		catch ( DAOException e) {
			throw new DAOException(e);
		}
		return exames;
	}
	
	public List<Exame> recuperarExamesPorFarmaceutico( int idfarmaceutico ) throws DAOException{
		List<Exame> exames = null;
		try {
			exames = dao.recuperarExamesPorFarmaceutico( idfarmaceutico );
		}
		catch ( DAOException e ) {
			throw new DAOException(e);
		}
		return exames;
	}
	
	public List<Exame> recuperarExamesPorTipo(String tipo) throws DAOException{
		List<Exame> exames = null;
		try {
			exames = dao.recuperarExamesPorTipo(tipo);
		}
		catch ( DAOException e ) {
			throw new DAOException(e);
		}
		return exames;
		
	}
	
	public void atualizarExame( Exame exame) throws DAOException {
		try {
			dao.atualizarExame( exame);
		}
		catch ( DAOException e ) {
			throw new DAOException(e);
		}
	}
}
